#ifndef ARM_H_
#define ARM_H_
#include "WPILib.h"
#include "DoubleSolenoid.h"
#include "GlobalInclude.h"
#include "PIDCalculator.h"
#include "OperatorInterface.h"


class Arm
{
public:
	Arm(OperatorInterface *oiArmX);
	//void jagDebug(int);
	virtual ~Arm();
	void liftInit(void);
	OperatorInterface *oiArm;
	
	Jaguar *lift1; // 6
	Jaguar *lift2; // 7
	Jaguar *arm;   // 8

	DigitalInput *bottomLiftSwitch;
	DigitalInput *topLiftSwitch;
	DigitalInput *bottomArmSwitch;
	DigitalInput *topArmSwitch;
	
	Encoder *liftEnc;
	//Encoder *armEnc;
	
	PIDCalculator *armCalc;
	PIDCalculator *liftCalc;
	PIDController *liftPID;
	PIDController *armPID;
	
	DoubleSolenoid *gripperSolenoid;	// 3
	DoubleSolenoid *minibotSolenoid;	// 4
	DoubleSolenoid *brakeSolenoid;

	void liftSubroutine();
	void armSubroutine();
	
	//AnalogInput *armPot;
private:

	float Kpl, Kil, Kdl, Kpa, Kia, Kda;
	float liftSetpoints[8];

};

#endif /*ARM_H_*/
